package br.com.speedprevweb.model;
// Generated 18/02/2014 22:47:57 by Hibernate Tools 3.6.0


import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * ServidorMatricula generated by hbm2java
 */
@Entity
@Table(name="ServidorMatricula"
    ,schema="dbo"
    ,catalog="db_compensacao"
)
public class ServidorMatricula  implements java.io.Serializable {


     private int idServidorMatricula;
     private Servidor servidor;
     private OrgaoLotacao orgaoLotacao;
     private String nuMatricula;
     private String nuTituloJulgado;
     private Date dtTituloJulgado;
     private String nuCtps;
     private String nuSerieCtps;
     private Date dtIngresso;
     private Date dtAposentadoria;
     private Boolean inCompensado;
     private Set requerimentoCompensacaos = new HashSet(0);
     private Set folhaPagamentos = new HashSet(0);
     private Set averbacaoMatriculas = new HashSet(0);

    public ServidorMatricula() {
    }

	
    public ServidorMatricula(int idServidorMatricula, Servidor servidor, OrgaoLotacao orgaoLotacao, String nuMatricula) {
        this.idServidorMatricula = idServidorMatricula;
        this.servidor = servidor;
        this.orgaoLotacao = orgaoLotacao;
        this.nuMatricula = nuMatricula;
    }
    public ServidorMatricula(int idServidorMatricula, Servidor servidor, OrgaoLotacao orgaoLotacao, String nuMatricula, String nuTituloJulgado, Date dtTituloJulgado, String nuCtps, String nuSerieCtps, Date dtIngresso, Date dtAposentadoria, Boolean inCompensado, Set requerimentoCompensacaos, Set folhaPagamentos, Set averbacaoMatriculas) {
       this.idServidorMatricula = idServidorMatricula;
       this.servidor = servidor;
       this.orgaoLotacao = orgaoLotacao;
       this.nuMatricula = nuMatricula;
       this.nuTituloJulgado = nuTituloJulgado;
       this.dtTituloJulgado = dtTituloJulgado;
       this.nuCtps = nuCtps;
       this.nuSerieCtps = nuSerieCtps;
       this.dtIngresso = dtIngresso;
       this.dtAposentadoria = dtAposentadoria;
       this.inCompensado = inCompensado;
       this.requerimentoCompensacaos = requerimentoCompensacaos;
       this.folhaPagamentos = folhaPagamentos;
       this.averbacaoMatriculas = averbacaoMatriculas;
    }
   
     @Id 

    
    @Column(name="idServidorMatricula", unique=true, nullable=false)
    public int getIdServidorMatricula() {
        return this.idServidorMatricula;
    }
    
    public void setIdServidorMatricula(int idServidorMatricula) {
        this.idServidorMatricula = idServidorMatricula;
    }

@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="idServidor", nullable=false)
    public Servidor getServidor() {
        return this.servidor;
    }
    
    public void setServidor(Servidor servidor) {
        this.servidor = servidor;
    }

@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="idOrgaoLotacao", nullable=false)
    public OrgaoLotacao getOrgaoLotacao() {
        return this.orgaoLotacao;
    }
    
    public void setOrgaoLotacao(OrgaoLotacao orgaoLotacao) {
        this.orgaoLotacao = orgaoLotacao;
    }

    
    @Column(name="nuMatricula", nullable=false, length=11)
    public String getNuMatricula() {
        return this.nuMatricula;
    }
    
    public void setNuMatricula(String nuMatricula) {
        this.nuMatricula = nuMatricula;
    }

    
    @Column(name="nuTituloJulgado", length=50)
    public String getNuTituloJulgado() {
        return this.nuTituloJulgado;
    }
    
    public void setNuTituloJulgado(String nuTituloJulgado) {
        this.nuTituloJulgado = nuTituloJulgado;
    }

    @Temporal(TemporalType.TIMESTAMP)
    @Column(name="dtTituloJulgado", length=23)
    public Date getDtTituloJulgado() {
        return this.dtTituloJulgado;
    }
    
    public void setDtTituloJulgado(Date dtTituloJulgado) {
        this.dtTituloJulgado = dtTituloJulgado;
    }

    
    @Column(name="nuCtps", length=10)
    public String getNuCtps() {
        return this.nuCtps;
    }
    
    public void setNuCtps(String nuCtps) {
        this.nuCtps = nuCtps;
    }

    
    @Column(name="nuSerieCtps", length=10)
    public String getNuSerieCtps() {
        return this.nuSerieCtps;
    }
    
    public void setNuSerieCtps(String nuSerieCtps) {
        this.nuSerieCtps = nuSerieCtps;
    }

    @Temporal(TemporalType.TIMESTAMP)
    @Column(name="dtIngresso", length=23)
    public Date getDtIngresso() {
        return this.dtIngresso;
    }
    
    public void setDtIngresso(Date dtIngresso) {
        this.dtIngresso = dtIngresso;
    }

    @Temporal(TemporalType.TIMESTAMP)
    @Column(name="dtAposentadoria", length=23)
    public Date getDtAposentadoria() {
        return this.dtAposentadoria;
    }
    
    public void setDtAposentadoria(Date dtAposentadoria) {
        this.dtAposentadoria = dtAposentadoria;
    }

    
    @Column(name="inCompensado")
    public Boolean getInCompensado() {
        return this.inCompensado;
    }
    
    public void setInCompensado(Boolean inCompensado) {
        this.inCompensado = inCompensado;
    }

@OneToMany(fetch=FetchType.LAZY, mappedBy="servidorMatricula")
    public Set getRequerimentoCompensacaos() {
        return this.requerimentoCompensacaos;
    }
    
    public void setRequerimentoCompensacaos(Set requerimentoCompensacaos) {
        this.requerimentoCompensacaos = requerimentoCompensacaos;
    }

@OneToMany(fetch=FetchType.LAZY, mappedBy="servidorMatricula")
    public Set getFolhaPagamentos() {
        return this.folhaPagamentos;
    }
    
    public void setFolhaPagamentos(Set folhaPagamentos) {
        this.folhaPagamentos = folhaPagamentos;
    }

@OneToMany(fetch=FetchType.LAZY, mappedBy="servidorMatricula")
    public Set getAverbacaoMatriculas() {
        return this.averbacaoMatriculas;
    }
    
    public void setAverbacaoMatriculas(Set averbacaoMatriculas) {
        this.averbacaoMatriculas = averbacaoMatriculas;
    }




}


